function Test1(str) { this.a = str; } var myTest = new Test1("test1"); alert(myTest); function Test1WithoutNew(str) { this.a = str; } var myTestWithoutNew = Test1WithoutNew("test1"); alert(myTestWithoutNew);
2.如果函数有返回值,但是返回值是基本类型。那么new出来的myTest还是object.。
1 2 3 4 5 6 7 8 9 10 11 12 13
function Test1(str) { this.a = str; return this.a; } var myTest = new Test1("test1"); alert(myTest); //Object
function Test1WithoutNew(str) { this.a = str; return this.a; } var myTestWithoutNew = Test1WithoutNew("test1"); alert(myTestWithoutNew);
3。如果函数的返回值为new出来的对象,那么myTest的值根据new出来的对象而定。
1 2 3 4 5 6
function Test1(str) { this.a = str; return new String(this.a); } var myTest = new Test1("test1"); alert(myTest);